home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / Developer Essentials Jul 90 / Programming / MPW Interfaces & Libraries 3.1 / CIncludes / Events.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-10-13  |  2.5 KB  |  123 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3. Created: Thursday, September 7, 1989 at 4:00 PM
  4.     Events.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.     Copyright Apple Computer, Inc.    1985-1989
  9.     All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __EVENTS__
  15. #define __EVENTS__
  16.  
  17. #ifndef __TYPES__
  18. #include <Types.h>
  19. #endif
  20.  
  21. #ifndef __QUICKDRAW__
  22. #include <Quickdraw.h>
  23. #endif
  24.  
  25. #define nullEvent 0
  26. #define mouseDown 1
  27. #define mouseUp 2
  28. #define keyDown 3
  29. #define keyUp 4
  30. #define autoKey 5
  31. #define updateEvt 6
  32. #define diskEvt 7
  33. #define activateEvt 8
  34. #define networkEvt 10
  35. #define driverEvt 11
  36. #define app1Evt 12
  37. #define app2Evt 13
  38. #define app3Evt 14
  39. #define app4Evt 15
  40. #define osEvt app4Evt
  41. #define charCodeMask 0x000000FF
  42. #define keyCodeMask 0x0000FF00
  43. #define adbAddrMask 0x00FF0000
  44. #define osEvtMessageMask 0xFF000000
  45.  
  46. /* OSEvent Messages */
  47.  
  48. #define mouseMovedMessage 0xFA
  49. #define childDiedMessage 0xFD
  50. #define suspendResumeMessage 0x01
  51.  
  52. /* event mask equates */
  53.  
  54. #define mDownMask 2
  55. #define mUpMask 4
  56. #define keyDownMask 8
  57. #define keyUpMask 16
  58. #define autoKeyMask 32
  59. #define updateMask 64
  60. #define diskMask 128
  61. #define activMask 256
  62. #define networkMask 1024
  63. #define driverMask 2048
  64. #define app1Mask 4096
  65. #define app2Mask 8192
  66. #define app3Mask 16384
  67. #define app4Mask -32768
  68. #define everyEvent -1
  69.  
  70. /* modifiers */
  71.  
  72. #define activeFlag 1    /*bit 0 of modifiers for activate event*/
  73. #define btnState 128    /*Bit 7 of low byte is mouse button state*/
  74. #define cmdKey 256        /*Bit 0*/
  75. #define shiftKey 512    /*Bit 1*/
  76. #define alphaLock 1024    /*Bit 2 */
  77. #define optionKey 2048    /*Bit 3 of high byte*/
  78. #define controlKey 4096
  79.  
  80. typedef long KeyMap[4];
  81.  
  82.  
  83. struct EventRecord {
  84.     short what;
  85.     long message;
  86.     long when;
  87.     Point where;
  88.     short modifiers;
  89. };
  90.  
  91. typedef struct EventRecord EventRecord;
  92. #ifdef __cplusplus
  93. extern "C" {
  94. #endif
  95. pascal Boolean GetNextEvent(short eventMask,EventRecord *theEvent)
  96.     = 0xA970;
  97. pascal Boolean WaitNextEvent(short mask,EventRecord *event,unsigned long sleep,
  98.     RgnHandle mouseRgn)
  99.     = 0xA860;
  100. pascal Boolean EventAvail(short eventMask,EventRecord *theEvent)
  101.     = 0xA971;
  102. pascal void GetMouse(Point *mouseLoc)
  103.     = 0xA972;
  104. pascal Boolean Button(void)
  105.     = 0xA974;
  106. pascal Boolean StillDown(void)
  107.     = 0xA973;
  108. pascal Boolean WaitMouseUp(void)
  109.     = 0xA977;
  110. pascal void GetKeys(KeyMap theKeys)
  111.     = 0xA976;
  112. pascal unsigned long TickCount(void)
  113.     = 0xA975;
  114. pascal unsigned long GetDblTime(void)
  115.     = {0x2EB8,0x02F0};
  116. pascal unsigned long GetCaretTime(void)
  117.     = {0x2EB8,0x02F4};
  118. #ifdef __cplusplus
  119. }
  120. #endif
  121.  
  122. #endif
  123.